package com.fanxuankai.boot.log;

import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HttpUtil;
import com.alibaba.fastjson.JSON;

import java.util.Collections;
import java.util.List;

/**
 * 获取详细信息
 *
 * @author fanxuankai
 */
public interface LogDetailService {
    /**
     * 获取当前用户
     *
     * @return User
     */
    User getUser();

    /**
     * 自定义字段的值，必须与自定义字段数量一致
     *
     * @return List
     */
    default List<String> customValues() {
        return Collections.emptyList();
    }

    /**
     * 获取 IP 对应的地址
     *
     * @param ip ip
     * @return /
     */
    default String getAddress(String ip) {
        String api = String.format("http://whois.pconline.com.cn/ipJson.jsp?ip=%s&json=true", ip);
        return StrUtil.trim(JSON.parseObject(HttpUtil.get(api)).getString("addr"));
    }
}